<!DOCTYPE html>
<html lang="UTF-8" xmlns:th="http://www.thymeleaf.org">
<div th:replace="~{include-head :: head}"></div>
<link rel="stylesheet" type="text/css" href="/css/pagination.css">


<body>

<!--引入nav-->
<div th:replace="~{include-nav :: nav}"></div>
<div class="container-fluid">
    <div class="row">
        <!--引入sidebar-->
        <div th:replace="~{include-sidebar :: sidebar}"></div>
        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title"><i class="glyphicon glyphicon-th"></i> 数据列表</h3>
                    </div>
                    <div class="panel-body">
                        <form th:action="@{/admin/query/for/search}" method="post" class="form-inline" role="form" style="float:left;">
                            <div class="form-group has-feedback">
                                <div class="input-group">
                                    <div class="input-group-addon">查询条件</div>
                                    <input
                                            class="form-control has-success"
                                            th:value="${param.keyword}",
                                            name="keyword"
                                            type="text" placeholder="请输入查询条件">
                                </div>
                            </div>
                            <button type="submit" class="btn btn-warning"><i class="glyphicon glyphicon-search"></i> 查询</button>
                        </form>
                        <button type="button" id="batchRemoveBtn" class="btn btn-danger" style="float:right;margin-left:10px;">
                            <i class=" glyphicon glyphicon-remove"></i> 删除</button>
                        <a th:href="@{/admin/to/add/page.html}" class="btn btn-primary" style="float: right;">
                            <i class="glyphicon glyphicon-plus"></i> 新增
                        </a>
                        <br>
                        <hr style="clear:both;">
                        <div class="table-responsive">
                            <table class="table  table-bordered">
                                <thead>
                                <tr >
                                    <th width="30">#</th>
                                    <th width="30"><input id="summaryBox" type="checkbox"></th>
                                    <th>账号</th>
                                    <th>名称</th>
                                    <th>邮箱地址</th>
                                    <th width="100">操作</th>
                                </tr>
                                </thead>
                                <tbody>
                                <tr th:each="admin,myStatus : ${#request.getAttribute('PAGE-INFO').list}">
                                    <td th:text="${myStatus.count}">1</td>
                                    <td><input th:adminId="${admin.id}" class="itemBox" type="checkbox"></td>
                                    <td th:text="${admin.loginacct}">Lorem</td>
                                    <td th:text="${admin.username}">ipsum</td>
                                    <td th:text="${admin.email}">dolor</td>
                                    <td>
                                        <button type="button" class="btn btn-success btn-xs"><i class=" glyphicon glyphicon-check"></i></button>
                                        <a th:href="@{/admin/to/edit/page(adminId=${admin.id},pageNum=${#request.getAttribute('PAGE-INFO').pageNum})}" class="btn btn-primary btn-xs">
                                            <i class=" glyphicon glyphicon-pencil"></i>
                                        </a>
                                        <button type="button" class="btn btn-danger btn-xs uniqueRemoveBtn"><i class=" glyphicon glyphicon-remove"></i></button>
                                    </td>
                                </tr>
                                </tbody>
                                <tfoot>
                                <tr >
                                    <td colspan="6" align="center">
                                        <div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
                                    </td>
                                </tr>

                                </tfoot>
                            </table>
                        </div>
                    </div>
            </div>
        </div>
    </div>
</div>
<script type="text/javascript" src="/script/jquery.pagination.js"></script>
<script type="text/javascript">
    $(function () {

        // 对分页导航条显示进行初始化
        initPagination();

        //全选
        $("#summaryBox").click(function() {
            // 获取当前#summaryBox的勾选状态
            // this代表当前多选框对象（DOM对象）
            // checked属性为true时表示被勾选，为false时表示没有被勾选
            // 使用checkStatus设置.itemBox的状态
            $(".itemBox").prop("checked",this.checked);
        });


        //批量删除
        $("#batchRemoveBtn").click(function () {
            // 创建数组对象：存储adminId
            var adminIdArray = new Array();
            // 创建数组对象：存储loginAcct
            var loginAcctArray = new Array();
            $(".itemBox:checked").each(function () {
                var adminId=$(this).attr("adminId");
                adminIdArray.push(adminId);
                var loginAcct=$(this).parent("td").next().text();
                loginAcctArray.push(loginAcct);
            });
            if (adminIdArray.length==0){
                alert("请勾选您要删除的记录！");
                return ;
            }
            var confirmResult =confirm("您真的要删除"+loginAcctArray+"信息吗？操作不可逆，请谨慎决定！");
            if (confirmResult==false){
                return;
            }
            var requestBody = JSON.stringify(adminIdArray);

            $.ajax({
                url:"/admin/batch/remove",
                "type":"post",
                "data":requestBody,
                "dataType":"json",
                "contentType":"application/json;charset=UTF-8",
                "success":function(response){
                    var result = response.result;
                    if (result=="SUCCESS"){
                        // 跳转页面
                        var pageNum=[[${#request.getAttribute('PAGE-INFO').pageNum}]];
                        var keyword=$('[name="keyword"]').val();
                        window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
                    }else{
                        alert(response.message);
                        return ;
                    }
                }
            });
        });


        //单条删除
        $(".uniqueRemoveBtn").click(function () {
            // 获取当前adminId值
            var adminId = $(this).attr("adminId");
            var loginAcct = $(this).parents("tr").children("td:eq(2)").text();
            var confirmResult = confirm("您真的要删除"+loginAcct+"这条记录吗？");

            if(!confirmResult) {
                return ;
            }

            // 为了能够使用批量删除的操作，将adminId存入数组
            var adminIdArray = new Array();

            adminIdArray.push(adminId);

            // 调用专门封装的函数，执行批量删除
            doBatchRemove(adminIdArray);
        });

    });

    //3．专门封装执行批量删除的函数
//※这个函数同时根据传入的数组不同，既可以批量删除也可以单条删除
    function doBatchRemove(adminIdArray) {
        var requestBody = JSON.stringify(adminIdArray);

        $.ajax({
            url:"/admin/batch/remove",
            "type":"post",
            "data":requestBody,
            "dataType":"json",
            "contentType":"application/json;charset=UTF-8",
            "success":function(response){
                var result = response.result;
                if (result=="SUCCESS"){
                    // 跳转页面
                    var pageNum=[[${#request.getAttribute('PAGE-INFO').pageNum-1}]];
                    var keyword=$('[name="keyword"]').val();
                    window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
                }else{
                    alert(response.message);
                    return ;
                }
            }
        });
    }


    // 声明函数封装导航条初始化操作
    function initPagination() {
        // 声明变量存储总记录数
        var totalRecord = [[${#request.getAttribute('PAGE-INFO').total}]];
        // 声明变量存储分页导航条显示时的属性设置
        var paginationProperties = {
            num_edge_entries : 3,        //边缘页数
            num_display_entries : 5,      //主体页数
            callback : pageselectCallback, //回调函数
            items_per_page : [[${#request.getAttribute('PAGE-INFO').pageSize}]],    //每页显示数据数量，就是pageSize
            current_page : [[${#request.getAttribute('PAGE-INFO').pageNum-1}]],//当前页页码
            prev_text : "上一页",       //上一页文本
            next_text : "下一页"        //下一页文本
        };
        // 显示分页导航条
        $("#Pagination").pagination(totalRecord, paginationProperties);
    }

    // 在每一次点击“上一页”、“下一页”、“页码”时执行这个函数跳转页面
    function pageselectCallback(pageIndex, jq) {
        // pageIndex从0开始，pageNum从1开始
        var pageNum = pageIndex + 1;
        var keyword=$('[name="keyword"]').val();
        // 跳转页面
        window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
        return false;
    }
</script>
</body>
</html>
